<HTML>

<BODY BGCOLOR="white">

<center>
<FONT SIZE=+2 COLOR="#BB0000">CS346 - Spring 2014<BR>Database System Implementation</FONT>
</center>

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Time and Place</b></center>
</font></td></tr>
</table>

The course meets Monday and Wednesday, 11:00-12:15, in <a href="http://campus-map.stanford.edu/?id=08-290" target="_blank">Econ 140</a>.
<!--
There will be optional <a
href="project.html#helpsession">project help sessions</a> a few Wednesday evenings at 5:30 PM, Gates 498.
-->

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Prerequisites</b></center>
</font></td></tr>
</table>

CS245 (Database System Principles) or equivalent knowledge is
essential.  We will assume that all students already understand basic
database system implementation techniques.  In this course you will
put your basic knowledge into practice while learning about more
advanced implementation techniques including those used in commercial
products.

<p>We recommend that all students have prior experience with Unix, and
at least with the C programming language.  It is preferred that
students have C++ experience as well, although it is not essential.
Students with no C++ experience will need to learn quickly; students
with no C/Unix experience probably should not take this course.

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Units</b></center>
</font></td></tr>
</table>

Students may enroll in CS346 for 3, 4, or 5 units.  All students are
expected to do the same amount of work regardless of their number of
units.  CS346 is a 5-unit course in terms of work; it is offered for
fewer units as a courtesy to students who have a limit.

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Readings and Textbook</b></center>
</font></td></tr>
</table>

A few research papers will be made available on the web as suggested
reading.  There is no required textbook for the course, but students
may wish to own a comprehensive database textbook for reference, for
example:

<ul>
<i>Database Systems: The Complete Book</i><br>
H. Garcia-Molina, J.D. Ullman, and J. Widom; Prentice Hall<br>
<a target="_blank" href="http://infolab.stanford.edu/~ullman/dscb.html">Book Web site</a>
</ul>

Other textbooks such as those by Silberschatz, Korth, & Sudarshan;
Ramakrishnan & Gehrke; Elmasri & Navathe; O'Neil; or Date also are
sufficient.  There is a copy of Garcia-Molina, Ullman, & Widom on
reserve at the Math and Computer Science library.

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Course Content</b></center>
</font></td></tr>
</table>

There will be five aspects to the course:

<ol>

<li> The basic <it>RedBase</it> project, implemented by each student
individually.

<li> An extension to RedBase, individually conceived, designed, and
implemented by each student.

<li> Lectures on aspects of the RedBase project.

<li> Lectures on advanced database system implementation
techniques, with an emphasis on query processing and optimization.

<li> Guest lecturers from industry describing commercial database
system implementation techniques, with an emphasis on query processing
and optimization.

</ol>

An overview and details of the project can be found on the <a
href="project.html"> RedBase Project page</a>.

<!--
<a name="attendance">
<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Class Attendance</b></center>
</font></td></tr>
</table>

Class attendance is expected, and it contributes a small percentage to
the final grade (see the grading breakdown below).  We will take
attendance at 16:20 during each class meeting.  Students who leave
the classroom before 17:30 or the end of lecture -- whichever is
earlier -- will not be counted as attending.  Each student may miss up
to two classes with no penalty.
-->


<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Quizzes</b></center>
</font></td></tr>
</table>

There will be two quizzes.  Eligible material for the quizzes includes
the project, all lectures (including guest lectures), and all papers
as covered in class.  The quizzes will be short, they will be
open-notes, they will count for only a small percentage of the final
grade (see the grading breakdown, next), and they are not meant to be
difficult -- they are meant only to ensure that students have a basic
understanding of the material covered in class.  The dates and times
for the quizzes are:

<ul>
<li> Quiz: Wednesday April 30, in class
</ul>

Alternate or makeup quizzes will <i>not</i> be given.

<a name="grading">
<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Grading</b></center>
</font></td></tr>
</table>

85% of your final grade will be based on the project, 10% on
quizzes, and 5% on class participation.  The complete breakdown is:

<center>
<p>
<table border=2>
<tr><td>Project Part 1  <td align="center">15%
<tr><td>Project Part 2  <td align="center">15%
<tr><td>Project Part 3  <td align="center">15%
<tr><td>Project Part 4  <td align="center">20%
<tr><td>Part 5 proposal <td align="center">5%
<tr><td>Complete demo   <td align="center">15%
<tr><td>Quiz           <td align="center">10%
<tr><td>Class participation <td align="center">5%
</table>
</center>

<p>Your programs will be graded on correctness and efficiency, as well
as on descriptions of key design decisions.  Details on program
grading criteria and mechanisms are provided in the <a
href="logistics.html">RedBase Logistics document</a>.

<p>CS 346 is not graded on a curve.  It's a difficult class, and
everyone who performs well (defined <i>very roughly</i> as <!-- ~100%
attendance, --> ~90% of project points, ~80% of quiz points, and a solid
RedBase extension) will get an A.

<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Students with Documented Disabilities</b></center>
</font></td></tr>
</table>

Students who may need an academic accommodation based on the impact of
a disability must initiate the request with the <a
href="http://www.stanford.edu/dept/registrar/bulletin/5458.htm">Student
Disability Resource Center</a> (SDRC) located within the <a
href="http://www.stanford.edu/group/DRC/">Office of Accessible
Education</a> (OAE). SDRC staff will evaluate the request with
required documentation, recommend reasonable accommodations, and
prepare an <i>Accommodation Letter</i> for faculty dated in the
current quarter in which the request is being made. Students should
contact the SDRC as soon as possible since timely notice is needed to
coordinate accommodations. The OAE is located at 563 Salvatierra Walk
(phone: 723-1066, 723-1067 TTY).

<a name="honorcode">
<p>
<table border=0 cellpadding=4 cellspacing=10 width="100%">
<tr><td width="100%" bgcolor="#ccccff"><font face="Arial">
<center><b>Honor Code</b></center>
</font></td></tr>
</table>

Under the Honor Code at Stanford, each of you is expected to submit
your own work in this course: all code submitted must have been
written by you.  However, on many occasions when working on programs
it is useful to talk with others (the instructor, the TA, or other
students) about design decisions and programming strategies.  Such
activity is both acceptable and encouraged, but when you turn in your
programs you must indicate any assistance you received.  Any
assistance received that is not given proper citation will be
considered a violation of the Honor Code.

<p>The project extension proposal must represent individual ideas and
writing, and we discourage excessive collaboration in developing
proposals.  Quiz answers must be original.

<p>The course staff will pursue
aggressively all suspected cases of Honor Code violations, and they
will be handled through official University channels.  The course
staff may employ plagiarism-detection software to ensure that
programs turned in are the original work of each student.

<!-- Start of StatCounter Code -->
<script type="text/javascript">
var sc_project=5642523; 
var sc_invisible=1; 
var sc_partition=60; 
var sc_click_stat=1; 
var sc_security="b2aed00b"; 
</script>

<script type="text/javascript"
src="http://www.statcounter.com/counter/counter.js"></script><noscript><div
class="statcounter"><a title="wordpress hit counter"
href="http://www.statcounter.com/wordpress.com/"
target="_blank"><img class="statcounter"
src="http://c.statcounter.com/5642523/0/b2aed00b/1/"
alt="wordpress hit counter" ></a></div></noscript>
<!-- End of StatCounter Code -->


</BODY>
